-- *****************************************************************************
-- *                                                    *     _       _        *
-- *  AdaDecoupe                                        *    / \   __| | __ _  *
-- *  http://code.google.com/p/adadecoupe/              *   / _ \ / _` |/ _` | *
-- *  Radim Badsi & Célia Biguzzi - IG3                 *  / ___ \ (_| | (_| | *
-- *  Polytech'Montpellier                              * /_/   \_\__,_|\__,_| *
-- *                                                    *                      *
-- *****************************************************************************
-- *                                                                           *
-- * categories.ads  -  Categories                                             *
-- * Représentation d'une catégorie de plaques (cf. Données Générales)         *
-- *                                                                           *
-- *****************************************************************************
with Util; use Util;

package Categories is

    type Categorie is private;
    type Ptr_Categorie is access Categorie;
       
    function Get_Categorie_Verre(C : Ptr_Categorie) return Categorie_Verre;
    function Get_Categorie_Verre(C : Categorie) return Categorie_Verre; 
        
    function Get_Dim_Piece_Mini(C : Ptr_Categorie) return Dimension;
    function Get_Taille(C: Ptr_Categorie) return Dimension;
    
    function Creer(C : Categorie_Verre;
                   Dim_Piece_Mini : Dimension;
                   Taille_Plaque : Dimension) return Ptr_Categorie;

	function ">" (A,B : Categorie) return Boolean;
	function ">" (A,B : Ptr_Categorie) return Boolean;
	
private
    type Categorie is
    record
        Cat : Categorie_Verre;
        Dim_Piece_Mini : Dimension;
        Taille_Plaque : Dimension;
    end record;


end Categories;